--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / relay / relayMessageListVirtual.js
Displaying Raw • Download
meshchatx/src/frontend/components/relay/relayMessageListVirtual.js b27028a7fbdb9530f658ad1661824944e16e70bf (b27028a7) Text, 1.24 KB
Tff7b72export Tff7b72const Te6edf3MIN_VIRTUAL_RELAY_ENTRIES Tff7b72= T79c0ff150Tb4b4b4;
T8b949e/**
* Initial row height guess before measureElement runs (variable-height rows).
* @param {unknown} entry
* @returns {number}
*/
Tff7b72export Tff7b72function Te6edf3estimateRelayEntryHeightTb4b4b4(Te6edf3entryTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3entry Tff7b72|| Tff7b72typeof Te6edf3entry Tff7b72!== Ta5d6ff"object"Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff28Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3entryTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"dateDivider"Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff44Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3entryTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"presenceGroup"Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff28Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3text Tff7b72= Tff7b72typeof Te6edf3entryTb4b4b4.Te6edf3msgTff7b72?Tb4b4b4.Te6edf3text Tff7b72=== Ta5d6ff"string" Tff7b72? Te6edf3entryTb4b4b4.Te6edf3msgTb4b4b4.Te6edf3text Tff7b72: Ta5d6ff""Tb4b4b4;
Tff7b72let Te6edf3height Tff7b72= T79c0ff32Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3textTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3lines Tff7b72= Te6edf3textTb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"\n"Tb4b4b4)Tb4b4b4.Te6edf3reduceTb4b4b4(Tb4b4b4(Te6edf3sumTb4b4b4, Te6edf3lineTb4b4b4) Tb4b4b4=> Te6edf3sum Tff7b72+ Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff1Tb4b4b4, Tffa657MathTb4b4b4.Te6edf3ceilTb4b4b4(Te6edf3lineTb4b4b4.Te6edf3length Tff7b72/ T79c0ff72Tb4b4b4)Tb4b4b4)Tb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Te6edf3height Tff7b72+= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3lines Tff7b72- T79c0ff1Tb4b4b4) Tff7b72* T79c0ff20Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3heightTb4b4b4;
Tb4b4b4}
T8b949e/**
* @param {unknown[]} entries
* @param {string} key
* @param {(msg: object) => string} keyFn
* @returns {number}
*/
Tff7b72export Tff7b72function Te6edf3findRelayEntryIndexForMessageKeyTb4b4b4(Te6edf3entriesTb4b4b4, Te6edf3keyTb4b4b4, Te6edf3keyFnTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3entriesTff7b72?Tb4b4b4.Te6edf3length Tff7b72|| Tff7b72!Te6edf3key Tff7b72|| Tff7b72typeof Te6edf3keyFn Tff7b72!== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72-T79c0ff1Tb4b4b4;
Tb4b4b4}
Tff7b72for Tb4b4b4(Tff7b72let Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3entriesTb4b4b4.Te6edf3lengthTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3entry Tff7b72= Te6edf3entriesTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3entryTff7b72?Tb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"message" Tff7b72&& Te6edf3entryTb4b4b4.Te6edf3msg Tff7b72&& Te6edf3keyFnTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3msgTb4b4b4) Tff7b72=== Te6edf3keyTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3iTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Tff7b72-T79c0ff1Tb4b4b4;
Tb4b4b4}
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────